--
-- Script vacio solo para forzar el cambio de version 
--

CREATE FUNCTION public.tg_val_control_numero()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE NOT LEAKPROOF
AS $BODY$
DECLARE

vPuede	character varying; 

BEGIN
	IF (new.nro is not null) and (old.nro is not null) and
	   (old.nro <> new.nro) then
	   vPuede := get_parametro_ini('PermiteModificarNroValor');
	   if not (vPuede IN ('S','C')) then
		  RAISE EXCEPTION 'No puede modificar el número de un valor a menos que exista el parámetro PermiteModificarNroValor = S ';
	   else 
	      IF (vPuede = 'C') AND 
		     ((SELECT count(distinct idcomm) FROM ctem WHERE ctem.idval = NEW.ID) > 1) THEN
			 RAISE EXCEPTION 'No puede modificar el número de un valor tenga más de un movimiento';
	      end if;
	   end if;
	end if;
	RETURN NEW;
END;
$BODY$;

ALTER FUNCTION public.tg_val_control_numero()
    OWNER TO abacouser;


CREATE TRIGGER control_nro_val
    BEFORE UPDATE 
    ON public.val
    FOR EACH ROW
    EXECUTE FUNCTION public.tg_val_control_numero();
--   
SELECT aaversion('514.01','514.00');
--    


